<?xml version="1.0" encoding="utf-8"?>
<html>
  <head>
    <title>Vala Binding Reference</title>
    <link href="devhelpstyle.css" rel="stylesheet" type="text/css"/>
    <script src="scripts.js" type="text/javascript">
    </script>
  </head>
  <body>
    <div class="site_header">Gtkaml.Ast.MarkupTag Reference Manual</div>
    <div class="site_body">
      <div class="site_content">
        <h1 class="main_title">MarkupTag</h1>
        <hr class="main_hr"/>
        <h2 class="main_title">Object Hierarchy:</h2>
        <img class="main_diagram" usemap="#Gtkaml.Ast.MarkupTag" alt="Object hierarchy for MarkupTag" src="img/Gtkaml.Ast.MarkupTag.png"/>
<map id="Gtkaml.Ast.MarkupTag" name="Gtkaml.Ast.MarkupTag">
<area shape="rect" id="node1" href="Gtkaml.Ast.MarkupTag.html" title="Gtkaml.Ast.MarkupTag" alt="" coords="5,101,203,149"/>
</map>

        <h2 class="main_title">Description:</h2>
        <div class="main_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">abstract</span> <span class="main_keyword">class</span> <b><a href="Gtkaml.Ast.MarkupTag.html" class="abstract_class">MarkupTag</a></b> : <span class="main_type"><code>Object</code></span>
        </div>
        <div class="description">
          <p>A tag that is a parent of others. Can be the root tag. </p>
          <p>You have to implement: </p>
          <ul>
            <li>generate_public_ast</li>
            <li>(optionally) resolve</li>
            <li>generate</li>
          </ul>
        </div>
        <div class="box">
          <div class="headline">
            <div class="text">All known sub-classes:</div>
            <div class="toggle">
              <img onclick="toggle_box  (this, 'box-content-1')" src="coll_open.png">&nbsp;</div>
            </div>
            <div class="content" id="box-content-1">
              <div class="column">
                <ul class="navi_inline">
                  <li class="abstract_class">
                    <a href="Gtkaml.Ast.MarkupChildTag.html">MarkupChildTag</a></li>
                  <li class="class">
                    <a href="Gtkaml.Ast.MarkupMember.html">MarkupMember</a></li>
                </ul>
              </div>
              <div class="column">
                <ul class="navi_inline">
                  <li class="class">
                    <a href="Gtkaml.Ast.MarkupReference.html">MarkupReference</a></li>
                  <li class="class">
                    <a href="Gtkaml.Ast.MarkupRoot.html">MarkupRoot</a></li>
                </ul>
              </div>
              <div class="column">
                <ul class="navi_inline">
                  <li class="class">
                    <a href="Gtkaml.Ast.MarkupTemp.html">MarkupTemp</a></li>
                  <li class="class">
                    <a href="Gtkaml.Ast.MarkupUnresolvedTag.html">MarkupUnresolvedTag</a></li>
                </ul>
              </div>
            </div>
          </div>
          <br/>
          <div class="namespace_note">
            <b>Namespace:</b> Gtkaml.Ast</div>
          <div class="package_note">
            <b>Package:</b> Gtkaml</div>
          <h2 class="main_title">Content:</h2>
          <h3 class="main_title">Properties:</h3>
          <ul class="navi_inline">
            <li class="property">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_basic_type"><code>string</code></span> <b><a href="Gtkaml.Ast.MarkupTag.text.html" class="property">text</a></b> { <span class="main_keyword">set</span>; <span class="main_keyword">get</span>; }
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">not-ignorable text nodes concatenated </span>
              </div></li>
            <li class="property">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_basic_type"><code>string</code></span> <b><a href="Gtkaml.Ast.MarkupTag.tag_name.html" class="property">tag_name</a></b> { <span class="main_keyword">set</span>; <span class="main_keyword">get</span>; }
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">the actual tag encountered </span>
              </div></li>
            <li class="property">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_type"><a href="Gtkaml.MarkupNamespace.html" class="class">MarkupNamespace</a></span> <b><a href="Gtkaml.Ast.MarkupTag.tag_namespace.html" class="property">tag_namespace</a></b> { <span class="main_keyword">set</span>; <span class="main_keyword">get</span>; }
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">the Vala namespace </span>
              </div></li>
            <li class="property">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">weak</span> <span class="main_type"><a href="Gtkaml.MarkupClass.html" class="class">MarkupClass</a></span> <b><a href="Gtkaml.Ast.MarkupTag.markup_class.html" class="property">markup_class</a></b> { <span class="main_keyword">get</span>; }
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">references the Vala class in which this tag was defined </span>
              </div></li>
            <li class="property">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_type"><code>SourceReference</code></span>? <b><a href="Gtkaml.Ast.MarkupTag.source_reference.html" class="property">source_reference</a></b> { <span class="main_keyword">set</span>; <span class="main_keyword">get</span>; }
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="abstract_property">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">abstract</span> <span class="main_basic_type"><code>string</code></span> <b><a href="Gtkaml.Ast.MarkupTag.me.html" class="abstract_property">me</a></b> { <span class="main_keyword">get</span>; }
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">the expression to be used (either 'this', or 'property name' or 'temporary variable name') when using 
                  the tag </span>
              </div></li>
            <li class="property">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_type"><code>DataType</code></span> <b><a href="Gtkaml.Ast.MarkupTag.data_type.html" class="property">data_type</a></b> { <span class="main_keyword">set</span>; <span class="main_keyword">get</span>; }
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">usually an Unresolved data type created from the tag name/namespace </span>
              </div></li>
            <li class="property">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_type"><code>DataType</code></span> <b><a href="Gtkaml.Ast.MarkupTag.resolved_type.html" class="property">resolved_type</a></b> { <span class="main_keyword">get</span>; }
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">the determined data type - see resolve() </span>
              </div></li>
            <li class="property">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_basic_type"><code>string</code></span> <b><a href="Gtkaml.Ast.MarkupTag.full_name.html" class="property">full_name</a></b> { <span class="main_keyword">get</span>; }
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">shortcut for resolved_type.data_type.get_full_name () -&gt; for debugging </span>
              </div></li>
          </ul>
          <h3 class="main_title">Creation methods:</h3>
          <ul class="navi_inline">
            <li class="creation_method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <b><a href="Gtkaml.Ast.MarkupTag.MarkupTag.html" class="creation_method">MarkupTag</a></b> (<span class="main_type"><a href="Gtkaml.MarkupClass.html" class="class">MarkupClass</a></span> markup_class, <span class="main_basic_type"><code>string</code></span> tag_name, <span class="main_type"><a href="Gtkaml.MarkupNamespace.html" class="class">MarkupNamespace</a></span> tag_namespace, <span class="main_type"><code>SourceReference</code></span>? source_reference =<span class="main_optional_parameter">null</span>)
              </span>
              <div class="leaf_brief_description">
              </div></li>
          </ul>
          <h3 class="main_title">Methods:</h3>
          <ul class="navi_inline">
            <li class="abstract_method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">abstract</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.generate_public_ast.html" class="abstract_method">generate_public_ast</a></b> (<span class="main_type"><a href="Gtkaml.MarkupParser.html" class="class">MarkupParser</a></span> parser) <span class="main_keyword">throws</span> <span class="main_type"><code>ParseError</code></span>
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">Called when parsing. This only generates placeholder Vala AST so that the Parser can move on. e.g. the
                  class itself, its public properties go here. </span>
              </div></li>
            <li class="virtual_method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">virtual</span> <span class="main_type"><a href="Gtkaml.Ast.MarkupTag.html" class="abstract_class">MarkupTag</a></span>? <b><a href="Gtkaml.Ast.MarkupTag.resolve.html" class="virtual_method">resolve</a></b> (<span class="main_type"><a href="Gtkaml.MarkupResolver.html" class="class">MarkupResolver</a></span> resolver) <span class="main_keyword">throws</span> <span class="main_type"><code>ParseError</code></span>
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">Called when Gtkaml is resolving.  Here replacements in the Gtkaml AST can be made (e.g. 
                  MarkupUnresolvedTag -&gt; MarkupTemp). Tags to remove must return 'null' here so that the SymbolResolver can remove them later 
                </span>
              </div></li>
            <li class="virtual_method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">virtual</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.resolve_attributes.html" class="virtual_method">resolve_attributes</a></b> (<span class="main_type"><a href="Gtkaml.MarkupResolver.html" class="class">MarkupResolver</a></span> resolver) <span class="main_keyword">throws</span> <span class="main_type"><code>ParseError</code></span>
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">Called when Gtkaml is resolving, after recursing over children </span>
              </div></li>
            <li class="abstract_method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">abstract</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.generate.html" class="abstract_method">generate</a></b> (<span class="main_type"><a href="Gtkaml.MarkupResolver.html" class="class">MarkupResolver</a></span> resolver) <span class="main_keyword">throws</span> <span class="main_type"><code>ParseError</code></span>
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">Called after Gtkaml finished resolving, before Vala resolver kicks in. Final AST generation phase1 
                  (all AST) </span>
              </div></li>
            <li class="virtual_method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">virtual</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.generate_attributes.html" class="virtual_method">generate_attributes</a></b> (<span class="main_type"><a href="Gtkaml.MarkupResolver.html" class="class">MarkupResolver</a></span> resolver) <span class="main_keyword">throws</span> <span class="main_type"><code>ParseError</code></span>
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">Called after Gtkaml finished resolving, before Vala resolver kicks in. Final AST generation phase2 
                  (attributes) </span>
              </div></li>
            <li class="virtual_method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">virtual</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.resolve_creation_method.html" class="virtual_method">resolve_creation_method</a></b> (<span class="main_type"><a href="Gtkaml.MarkupResolver.html" class="class">MarkupResolver</a></span> resolver)
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">picks up creation method parameters and determines the creation method, if applicable </span>
              </div></li>
            <li class="virtual_method">
              <span class="leaf_code_definition"><span class="main_keyword">protected</span> <span class="main_keyword">virtual</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.resolve_creation_method_failed.html" class="virtual_method">resolve_creation_method_failed</a></b> (<span class="main_type"><code>SourceReference</code></span> source_reference, <span class="main_basic_type"><code>string</code></span> message)
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">decides weather to halt on error or just issue an warning </span>
              </div></li>
            <li class="virtual_method">
              <span class="leaf_code_definition"><span class="main_keyword">protected</span> <span class="main_keyword">virtual</span> <span class="main_type"><code>List</code></span>&lt;<span class="main_type"><code>CreationMethod</code></span>&gt; <b><a href="Gtkaml.Ast.MarkupTag.get_creation_method_candidates.html" class="virtual_method">get_creation_method_candidates</a></b> ()
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">returns the list of possible creation methods </span>
              </div></li>
            <li class="method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_type"><code>List</code></span>&lt;<span class="main_type"><a href="Gtkaml.Ast.MarkupChildTag.html" class="abstract_class">MarkupChildTag</a></span>&gt; <b><a href="Gtkaml.Ast.MarkupTag.get_child_tags.html" class="method">get_child_tags</a></b> ()
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.add_child_tag.html" class="method">add_child_tag</a></b> (<span class="main_type"><a href="Gtkaml.Ast.MarkupChildTag.html" class="abstract_class">MarkupChildTag</a></span> child_tag)
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.replace_child_tag.html" class="method">replace_child_tag</a></b> (<span class="main_type"><a href="Gtkaml.Ast.MarkupChildTag.html" class="abstract_class">MarkupChildTag</a></span> old_child, <span class="main_type"><a href="Gtkaml.Ast.MarkupChildTag.html" class="abstract_class">MarkupChildTag</a></span> new_child)
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">replaces a child tag and moves all its attributes and subtags to the new one </span>
              </div></li>
            <li class="method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.remove_child_tag.html" class="method">remove_child_tag</a></b> (<span class="main_type"><a href="Gtkaml.Ast.MarkupChildTag.html" class="abstract_class">MarkupChildTag</a></span> old_child)
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_type"><code>List</code></span>&lt;<span class="main_type"><a href="Gtkaml.Ast.MarkupAttribute.html" class="class">MarkupAttribute</a></span>&gt; <b><a href="Gtkaml.Ast.MarkupTag.get_markup_attributes.html" class="method">get_markup_attributes</a></b> ()
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.add_markup_attribute.html" class="method">add_markup_attribute</a></b> (<span class="main_type"><a href="Gtkaml.Ast.MarkupAttribute.html" class="class">MarkupAttribute</a></span> markup_attribute)
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_type"><a href="Gtkaml.Ast.MarkupAttribute.html" class="class">MarkupAttribute</a></span>? <b><a href="Gtkaml.Ast.MarkupTag.get_attribute.html" class="method">get_attribute</a></b> (<span class="main_basic_type"><code>string</code></span> name)
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="method">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_keyword">void</span> <b><a href="Gtkaml.Ast.MarkupTag.remove_attribute.html" class="method">remove_attribute</a></b> (<span class="main_type"><a href="Gtkaml.Ast.MarkupAttribute.html" class="class">MarkupAttribute</a></span> attribute)
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="method">
              <span class="leaf_code_definition"><span class="main_keyword">protected</span> <span class="main_type"><code>MemberAccess</code></span> <b><a href="Gtkaml.Ast.MarkupTag.get_class_expression.html" class="method">get_class_expression</a></b> ()
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">returns ns.ns.ns.Class member access </span>
              </div></li>
          </ul>
          <h3 class="main_title">Fields:</h3>
          <ul class="navi_inline">
            <li class="field">
              <span class="leaf_code_definition"><span class="main_keyword">protected</span> <span class="main_type"><code>List</code></span>&lt;<span class="main_type"><a href="Gtkaml.Ast.MarkupChildTag.html" class="abstract_class">MarkupChildTag</a></span>&gt; <b><a href="Gtkaml.Ast.MarkupTag.child_tags.html" class="field">child_tags</a></b>
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="field">
              <span class="leaf_code_definition"><span class="main_keyword">protected</span> <span class="main_type"><code>List</code></span>&lt;<span class="main_type"><a href="Gtkaml.Ast.MarkupAttribute.html" class="class">MarkupAttribute</a></span>&gt; <b><a href="Gtkaml.Ast.MarkupTag.markup_attributes.html" class="field">markup_attributes</a></b>
              </span>
              <div class="leaf_brief_description">
              </div></li>
            <li class="field">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_type"><code>List</code></span>&lt;<span class="main_type"><a href="Gtkaml.Ast.MarkupAttribute.html" class="class">MarkupAttribute</a></span>&gt; <b><a href="Gtkaml.Ast.MarkupTag.creation_parameters.html" class="field">creation_parameters</a></b>
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">attributes explicitly found as creation parameters + default ones. All in the original order. </span>
              </div></li>
            <li class="field">
              <span class="leaf_code_definition"><span class="main_keyword">public</span> <span class="main_type"><code>CreationMethod</code></span> <b><a href="Gtkaml.Ast.MarkupTag.creation_method.html" class="field">creation_method</a></b>
              </span>
              <div class="leaf_brief_description">
                <span class="brief_description">resolved creation method </span>
              </div></li>
          </ul>
        </div>
      </div>
      <br/>
      <div class="site_footer">Generated by <a href="http://www.valadoc.org/">Valadoc</a>
      </div>
    </body>
  </html>